<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>剩余参数获得多余的实参</title>
</head>

<body>
  <script>
    /*
        剩余参数（重点）
            剩余参数:允许我们将一个不定数量的参数表示为一个数组
            简单理解：用于获取多余的实参，并形成一个真数组

        使用场景：
            也可以解决形参和实参个数不匹配的问题

        剩余参数和arguments区别
          -... 是语法符号，置于最末函数形参之前，用于获取多余的实参  
          -借助 ... 获取的剩余实参，是个真数组
          -箭头函数不支持arguments，但是可以使用剩余参数
          -开发中，还是提倡多使用 剩余参数
    */

    // 剩余参数获得多余的实参 返回真数组
    function getSum(...z) {
        console.log(z)
    }
  getSum(10,20,30,40,50,60)

//   注意事项：剩余参数必须是最后一个
//    function getSum(x,...y,z) {    //报错
//         console.log(x,y,z)
//     }

  getSum(10,20,30,40,50,60)

    // 1.求和效果
    function sum(...other) {
        let sum = 0
        other.forEach(function (ele) {
            sum += ele
        })
        console.log(sum)    
    }
    sum(1, 2)
    sum(1, 2, 3)


  </script>
</body>

</html>